/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.upo.eps.it.phama.struts.actionform;

import java.util.List;
import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.upo.eps.it.phama.bean.Cliente;
import org.upo.eps.it.phama.dao.ClienteDAO;

/**
 *
 * @author grupo 4
 */
public class ClientesActionForm extends org.apache.struts.action.ActionForm {
    
     private String opcion;
    private int id;
    private String nombre;
    private String contacto;
    private String email;
    private String telefono;
    
    private List<Cliente> misClientes;
    private List<Cliente> resultadoBusqueda;
    
    private int idDireccion;
    private String direccion;
    private String poblacion;
    private String provincia;
    private String cp;

        
    //<editor-fold defaultstate="collapsed" desc="constructors">
    public ClientesActionForm() {
        super();
        misClientes = ClienteDAO.getCliente();
         opcion = ""; // Es importante para evitar acceso a nulos.

    }
   //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="getters & setters">
    public int getIdDireccion() {
        return idDireccion;
    }

    public void setIdDireccion(int idDireccion) {
        this.idDireccion = idDireccion;
    }

    public String getDireccion() {
        return direccion;
    }

    public void setDireccion(String direccion) {
        this.direccion = direccion;
    }

    public String getPoblacion() {
        return poblacion;
    }

    public void setPoblacion(String poblacion) {
        this.poblacion = poblacion;
    }

    public String getProvincia() {
        return provincia;
    }

    public void setProvincia(String provincia) {
        this.provincia = provincia;
    }

    public String getCp() {
        return cp;
    }

    public void setCp(String cp) {
        this.cp = cp;
    }

    public String getOpcion() {
        return opcion;
    }

    public int getId() {
        return id;
    }

    public String getNombre() {
        return nombre;
    }

    public String getContacto() {
        return contacto;
    }

    public String getEmail() {
        return email;
    }

    public String getTelefono() {
        return telefono;
    }

    public List<Cliente> getMisClientes() {
        return misClientes;
    }

    public List<Cliente> getResultadoBusqueda() {
        return resultadoBusqueda;
    }

    public void setOpcion(String opcion) {
        this.opcion = opcion;
    }

    public void setId(int id) {
        this.id = id;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public void setContacto(String contacto) {
        this.contacto = contacto;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public void setTelefono(String telefono) {
        this.telefono = telefono;
    }

    public void setMisClientes(List<Cliente> misClientes) {
        this.misClientes= misClientes;
    }

    public void setResultadoBusqueda(List<Cliente> resultadoBusqueda) {
        this.resultadoBusqueda = resultadoBusqueda;
    }

    //</editor-fold>

    /**
     * This is the action called from the Struts framework.
     *
     * @param mapping The ActionMapping used to select this instance.
     * @param request The HTTP Request we are processing.
     * @return
     */
    @Override
    public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
        ActionErrors errors = new ActionErrors();
        if (opcion.equals("grabar") || opcion.equals("modificar")) {
            if (nombre == null || nombre.equals("")) {
                errors.add("nombre", new ActionMessage("error.required", "nombre"));
            }
            if (contacto == null || contacto.equals("")) {
                errors.add("contacto", new ActionMessage("error.required", "contacto "));
            }
            if (email == null || email.equals("")) {
                errors.add("email", new ActionMessage("error.required", "email "));
            }
            if (telefono == null || telefono.equals("")) {
                errors.add("telefono", new ActionMessage("error.required", "telefono"));
            }
            if (direccion == null || direccion.equals("")) {
                errors.add("direccion", new ActionMessage("error.required", "direccion"));
            }

        }

        return errors;
    }
}
